home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / basic / pbtool.exe / LOWER.BAS < prev    next >
BASIC Source File  |  1991-11-11  |  2KB  |  87 lines

  1. '----------------------------------------------------------
  2. '  PROGRAM: LOWER.BAS          PROGRAMMER: A. KELLETT
  3. '  DATE-WRITTEN: 11/11/91
  4. '  USING POWER BASIC V2.10A
  5. '
  6. '  THIS PROGRAM CONVERTS A FILE TO ALL LOWERCASE
  7. '  ALPHABETIC CHARACTERS
  8. '  VERSION: 0.00    LAST UPDATED: 00/00/00
  9. '----------------------------------------------------------
  10. CLS
  11. LOCATE 1,20:PRINT "CONVERT A FILE TO ALL LOWERCASE."
  12. LOCATE 5,5:INPUT "NAME OF INPUT FILE : ";FILENAME1$
  13. LOCATE 7,5:INPUT "NAME OF OUTPUT FILE: ";FILENAME2$
  14.  
  15. GOSUB FILESEXIST
  16.  
  17. IF FILE1EOF& < 32000 THEN
  18.    BUF.LEN& = FILE1EOF&
  19. ELSE
  20.    BUF.LEN& = 32000
  21. END IF
  22. BYTES.READ& = 0:BYTES.LEFT& = FILE1EOF&
  23. QUITFLAG% = 0
  24.  
  25. OPEN FILENAME1$ FOR BINARY AS #1
  26. OPEN FILENAME2$ FOR BINARY AS #2
  27. WHILE QUITFLAG% = 0
  28.    LOCATE 10,5:PRINT USING "BYTES FINISHED: #,###,###  BYTES LEFT: #,###,###";_
  29.       BYTES.READ&, BYTES.LEFT&
  30.    GET$ 1, BUF.LEN&, IN.BUFFER$
  31.    GOSUB CONVERT
  32.    PUT$ 2, OUT.BUFFER$
  33.    BYTES.READ& = BYTES.READ& + BUF.LEN&
  34.    BYTES.LEFT& = BYTES.LEFT& - BUF.LEN&
  35.    IF BYTES.LEFT& < 1 THEN
  36.       QUITFLAG% = 1
  37.    ELSE
  38.       IF BYTES.LEFT& < BUF.LEN& THEN
  39.      BUF.LEN& = BYTES.LEFT&
  40.       END IF
  41.    END IF
  42. WEND
  43. CLOSE #2
  44. CLOSE #1
  45.  
  46. END
  47. '
  48. ' PERFORM ACTUAL BYTE CONVERSION HERE...
  49. '----------------------------------------------------------
  50. CONVERT:
  51.    OUT.BUFFER$ = LCASE$(IN.BUFFER$)
  52.  
  53. RETURN
  54. '
  55. '
  56. '----------------------------------------------------------
  57. FILESEXIST:
  58.    '*** CHECK VALIDITY OF INPUT FILE NAME ***
  59.    OPEN FILENAME1$ FOR BINARY AS #1
  60.       IF LOF(1) < 1 THEN
  61.          PRINT "THE INPUT FILE DOES NOT EXISTS."
  62.          CLOSE #1
  63.          KILL FILENAME1$
  64.          DELAY 2.5
  65.          LOCATE 22,1
  66.          END
  67.       END IF
  68.       FILE1EOF& = LOF(1)
  69.    CLOSE #1
  70.  
  71.    '*** CHECK VALIDITY OF OUTPUT FILE NAME ***
  72.    OPEN FILENAME2$ FOR BINARY AS #2
  73.       IF LOF(2) > 1 THEN
  74.          PRINT "THE OUTPUT FILE ALREADY EXISTS."
  75.          CLOSE #2
  76.          KILL FILENAME2$
  77.          DELAY 2.5
  78.          LOCATE 22,1
  79.          END
  80.       END IF
  81.       FILE2EOF& = LOF(2)
  82.    CLOSE #2
  83.  
  84. RETURN
  85.  
  86.  
  87.